package com.atwisdom.star.auth.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 
 * @TableName menu
 */
@TableName(value ="menu")
@Data
public class Menu implements Serializable {
    /**
     * 菜单标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 菜单名称
     */
    @TableField(value = "menuName")
    private String menuName;

    /**
     * 模板名称
     */
    @TableField(value = "templateName")
    private String templateName;

    /**
     * 模板名称
     */
    @TableField(value = "templateConfig")
    private String templateConfig;


    /**
     * 目标区域
     */
    @TableField(value = "targetArea")
    private String targetArea;

    /**
     * 菜单URL
     */
    @TableField(value = "menuUrl")
    private String menuUrl;

    /**
     * 菜单路径(导航路由)
     */
    @TableField(value = "menuPath")
    private String menuPath;

    /**
     * 显示图片
     */
    @TableField(value = "showPic")
    private String showPic;

    /**
     * 菜单序号
     */
    @TableField(value = "menuNum")
    private Integer menuNum;

    /**
     * 是否默认代码
     */
    @TableField(value = "ifDefaultCode")
    private String ifDefaultCode;

    /**
     * 菜单描述
     */
    @TableField(value = "menuDescrib")
    private String menuDescrib;

    /**
     * 父菜单标识
     */
    @TableField(value = "fatherMenuId")
    private Long fatherMenuId;

    /**
     * 菜单标题
     */
    @TableField(value = "menuTitle")
    private String menuTitle;

    /**
     * 是否可用代码
     */
    @TableField(value = "ifAvailCode")
    private String ifAvailCode;

    /**
     * 创建人账号
     */
    @TableField(value = "createdBy",fill = FieldFill.INSERT)
     private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "createTime",fill = FieldFill.INSERT)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 修改人账号
     */
    @TableField(value = "updatedBy",fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /**
     * 修改时间
     */
    @TableField(value = "updateTime",fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;

    /**
     * 业务系统标识
     */
    @TableField(value = "sysId")
    private String sysId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}